home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITPalette.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  1.5 KB  |  67 lines

  1. //
  2. //                    CITPalette include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2002.02.12
  7. //
  8.  
  9. #ifndef CIT_PALETTE_H
  10. #define CIT_PALETTE_H TRUE
  11.  
  12. #ifndef CIT_GADGETS_H
  13. #include "CITGadget.h"
  14. #endif
  15.  
  16. #include <gadgets/palette.h>
  17.  
  18. //
  19. // This enum is for internal use only
  20. //
  21. enum
  22. {
  23.   CITPALETTE_COLOUR = 0,
  24.   CITPALETTE_COLOUROFFSET,
  25.   CITPALETTE_COLOURTABLE,
  26.   CITPALETTE_NUMCOLOURS,
  27.   CITPALETTE_LAST
  28. };
  29.  
  30. class CITPalette:public CITGadget
  31. {
  32.   public:
  33.     CITPalette();
  34.     ~CITPalette();
  35.  
  36.  
  37.     void Colour(UBYTE col)
  38.              {setTag(CITPALETTE_COLOUR,PALETTE_Colour,col);}
  39.     void ColourOffset(UBYTE off)
  40.              {setTag(CITPALETTE_COLOUROFFSET,PALETTE_ColourOffset,off);}
  41.     void ColourTable(UBYTE* tab)
  42.              {setTag(CITPALETTE_COLOURTABLE,PALETTE_ColourTable,ULONG(tab));}
  43.     void NumColours(UWORD numCol)
  44.              {setTag(CITPALETTE_NUMCOLOURS,PALETTE_NumColours,numCol);}
  45.  
  46.     UBYTE  Colour()
  47.              { return getTag(PALETTE_Colour); }
  48.     UBYTE  ColourOffset()
  49.              { return getTag(PALETTE_ColourOffset); }
  50.     UBYTE* ColourTable()
  51.              { return (UBYTE*)(getTag(PALETTE_ColourTable)); }
  52.     UWORD  NumColours()
  53.              { return getTag(PALETTE_NumColours); }
  54.  
  55.   protected:
  56.     virtual BOOL    Create(CITWindow* CITWd,class CITRootClass* parent);
  57.     virtual Object* NewObjectA(TagItem* tags);
  58.  
  59.   private:
  60.     void  setTag(int index,ULONG attr,ULONG val);
  61.     ULONG getTag(ULONG attr);
  62.  
  63.     TagItem* paletteTag;
  64. };
  65.  
  66. #endif
  67.